Targeting an aggregate group

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer-readable storage medium, for providing content. A method includes receiving a request for an advertisement to be displayed in a slot associated with a third-party content site; identifying a relevant advertisement to be provided in the slot; determining information to be included in an annotation associated with the advertisement, the annotation including customized information to be presented along with the advertisement; providing the advertisement responsive to the request including providing the annotation along with a control for re-publishing the advertisement along with the relevant advertisement; receiving user input selecting the control and designating the advertisement for re-publishing to a group, the group being designated by the user; and targeting additional content to the group based on the received user input.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is a continuation (and claims the benefit ofpriority under 35 USC 120) of U.S. patent application Ser. No.17/245,372, filed Apr. 30, 2021, which is a continuation (and claims thebenefit of priority under 35 USC 120) of U.S. patent application Ser.No. 16/541,594, filed Aug. 15, 2019 (now U.S. Pat. No. 10,997,631),which is a continuation (and claims the benefit of priority under 35 USC120) of U.S. patent application Ser. No. 15/262,273, filed Sep. 12, 2016(now U.S. Pat. No. 10,430,836), which is a continuation (and claims thebenefit of priority under 35 USC 120) of U.S. patent application Ser.No. 13/339,285 (now U.S. Pat. No. 9,466,073), filed Dec. 28, 2011, whichclaims priority under 35 U.S.C. 119 to U.S. Provisional Application No.61/427,546, filed on Dec. 28, 2010. The disclosure of the priorapplications are considered part of and is incorporated by reference inthe disclosure of this application.

BACKGROUND

This specification relates to information presentation.

The Internet provides access to a wide variety of resources. Forexample, video and/or audio files, as well as web pages for particularsubjects or particular news articles, are accessible over the Internet.Access to these resources presents opportunities for advertisements tobe provided with the resources. For example, a web page can includeadvertisement slots in which advertisements can be presented. Theseadvertisements slots can be defined in the web page or defined forpresentation with a web page, for example, in a pop-up window.

Advertisement slots can be allocated to advertisers through an auction.For example, advertisers can provide bids specifying amounts that theadvertisers are respectively willing to pay for presentation of theiradvertisements (“ads”). In turn, an auction can be performed and theadvertisement slots can be allocated to advertisers according, amongother things, to their bids and/or the relevance of the advertisement tocontent presented on a page hosting the slot or a request that isreceived for the advertisement.

SUMMARY

In general, one innovative aspect of the subject matter described inthis specification can be implemented in a method for providing content.The method comprises: receiving a request for an advertisement to bedisplayed in a slot associated with a third-party content site;identifying a relevant advertisement to be provided in the slot;determining information to be included in an annotation associated withthe advertisement, the annotation including customized information to bepresented along with the advertisement; providing the advertisementresponsive to the request including providing the annotation along witha control for re-publishing the advertisement along with the relevantadvertisement; receiving user input selecting the control anddesignating the advertisement for re-publishing to a group, the groupbeing designated by the user; and targeting additional content to thegroup based on the received user input.

These and other implementations can each optionally include none, one ormore of the following features. The method can further comprise trackinginputs received from the group for advertisements that are designatedfor re-publishing. Targeting can include targeting the group based onthe tracked inputs. Receiving user input can include receiving userinput designating the group. The group can be an ad hoc group that isnot a designated circle associated with the user in a socialenvironment. The user input can include a designation to provide theadvertisement to a social application for presentation in an activitystream associated with the user. The method can further comprisetracking user interactions of members of the group with theadvertisement when presented in the activity stream and targetingadditional content to the user or group based on the tracking. Themethod can further comprise tracking whom a user designatesadvertisements to be re-published to so as to infer relationshipsbetween the user and the designatees and targeting additional content tothe user or group associated with the user based on the tracking. Thegroup can be a social circle, family, friends, work groups, or someother particularly identified group. The control can enable the user tore-publish the advertisement to others that are not members of a user'sgroup. The control can enable a user to re-publish the advertisementalong with a message. Targeting can include using the user input as asignal when determining relevant content to be provided to the group inthe future. The method can further comprise determining one or moresocial signals for use in affecting a quality score that is used toevaluate content to be provided to the group where the one or moresocial signals are based at least in part on the user input. The methodcan further comprise determining one or more social signals based atleast in part on the user input and using the social signals whendetermining content for presentation to the group. The one or moresocial signals can be used to categorize the user as belonging to agroup. The one or more social signals can be used to customizeannotations to be included with the advertisements that are re-publishedby the user. The one or more social signals can be used to determinewhether a system that re-publishes advertisements should re-publishother advertisements to the group. The one or more social signals can beused to surface the group to an advertiser.

In general, another innovative aspect of the subject matter described inthis specification can be implemented in computer program products thatinclude a computer program product tangibly embodied in acomputer-readable storage device. The computer program product includesinstructions that, when executed by a processor, cause the processor to:receive a request for an advertisement to be displayed in a slotassociated with a third-party content site; identify a relevantadvertisement to be provided in the slot; determine information to beincluded in an annotation associated with the advertisement, theannotation including customized information to be presented along withthe advertisement; provide the advertisement responsive to the requestincluding providing the annotation along with a control forre-publishing the advertisement along with the relevant advertisement;receive user input selecting the control and designating theadvertisement for re-publishing to a group, the group being designatedby the user; and target additional content to the group based on thereceived user input.

In general, another innovative aspect of the subject matter described inthis specification can be implemented in systems, including a systemthat includes a user device, a third party content site, and a contentmanagement system. The content management system is configured to:identify a relevant advertisement to be provided in a slot associatedwith the third party content site, based on receiving a request from theuser device for an advertisement to be displayed in the slot; determineinformation to be included in an annotation associated with theadvertisement, the annotation including customized information to bepresented along with the advertisement; provide, to the user device, theadvertisement responsive to the request including providing theannotation along with a control for re-publishing the advertisementalong with the relevant advertisement; and target additional content tothe group based on receiving user input from the user device indicatingselection of the control and designation of the advertisement forre-publishing to a user-designated group.

Particular implementations may realize none, one or more of thefollowing advantages. For example, targeting content to a group based ona user designating a group when republishing an advertisement can resultin group members receiving content in which they have an interest. Agroup which may include members interested in an advertiser's product orservices can be surfaced to an advertiser.

The details of one or more implementations of the subject matterdescribed in this specification are set forth in the accompanyingdrawings and the description below. Other features, aspects, andadvantages of the subject matter will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example environment that provides socialoverlays on ads.

FIG. 2 shows an example user interface that includes an ad with a socialoverlay and a control for re-publishing the ad.

FIG. 3 shows an example details popup for providing detailed informationfor re-publishing an ad.

FIG. 4 shows an example visibility change popup for changing visibilitysettings for re-publishing an ad.

FIG. 5 shows an example groups selection list for displaying selectablevisibility groups.

FIG. 6 shows an example add comment box for sharing a comment on an ad.

FIG. 7 shows the example user interface of FIG. 2 with the socialoverlay that is updated to indicate that the user has re-published thead.

FIG. 8 is a flowchart of an example process for targeting additionalcontent to a group based on a designation of an advertisement forre-publishing to the group.

FIG. 9 is a block diagram of computing devices that may be used toimplement the systems and methods described in this document, as eithera client or as a server or plurality of servers.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

When a user requests on-line content (e.g., a web page or another onlineresource), content requests can be initiated to request content from acontent publisher for presentation on a user device. For example,content publishers can include publishers of web sites or search enginesthat are publishing search results responsive to a query. One or moreadditional content items (e.g., ads) can be provided along with therequested content. As a result, the presented content can be, forexample, text, images, audio, video, advertisements (or ads) or othercontent selected for presentation to the user. In response to eachcontent request received, content can be served, including one or moreads. In some implementations, some ads can include a social component orcontext.

For example, an ad that is served can include a social overlay thatincludes social information and tools for propagating social informationto others. As a result, users can re-publish ads to others, includingfriends and family. For example, an ad with associated comments can bepresented as an update to a social application activity stream of theuser, to activity streams of friends and family, and/or activity streamsof one or more groups associated with the user. By re-publishing an ad,a user can make his preferences known, including providing comments forspecific ads, and the comments can be handled in a structured way. Byproviding the ability for users to annotate and comment upon ads withina social context, ads can be more interesting to users and their socialcontacts. As a result, more user attention can be captured by the ads,which can result in higher click-through-rates and overall adeffectiveness. Another use and benefit of the social overlays on ads isthe ability to capture user feedback. Advertisers can captureinformation (e.g., ad-sharing statistics, etc.) for ads in order togauge the quality of their ads, the effectiveness of ad campaigns, andthe popularity of certain product brands that are featured in ads.

In some implementations, a widget (e.g., a graphical user interfacecontrol) can be overlaid on an ad creative that is displayed to Internetusers, such as on a third-party web site. The widget can show socialannotations that provide information about the specific ad that is beingdisplayed. This information can include, for example, the number ofusers who liked or that have interacted with the ad, the number of usersin a certain geographic region who re-published the ad, and the name ofa user's friend who liked an ad, and so on. The widget can also includebuttons or other controls that allow the user to designate (i.e., theuser likes the ad, the user wants to share or re-publish the ad, or theuser wants to otherwise positively endorse the ad), and comment on agiven ad, and, in some implementations, follow an advertiser (e.g., anadvertiser's profile) in a social network. In some implementations,designating an ad is referred to as “plus one'ing” (“+1'ing”) an ad.

In some examples, activity streams, as provided by social networking websites and applications, allow a user to publish user updates and makethe updates accessible or viewable by designates. For example, a usercan publish messages, photos, or other content to his activity stream,and share the content with individuals, family, friends, or othergroups. Alternatively, the user's publication of content can be to apresence associated with the user in a social environment. In anotherexample, the publication can be to a subscriber to the updates. In someimplementations, the publication can be to an area that is designatedfor providing updated content for the user (e.g., a wall or socialprofile page). Other mechanisms are possible for providing thepublication medium.

In response to a designation to re-publish an ad, additional content canbe targeted to the user or to a group associated with the user. Forexample, ads similar to the ad designated for re-publishing can bepresented to the user in the future, such as in an ad slot included in asearch results web page or some other web page. As other examples, adscan be selected based on other factors, such as a context associatedwith the re-publishing, or based on other interactions occurring withthe re-published ad. Targeting of additional content to the user orgroup associated with the user based on a designation to re-publish anad is described in more detail below with respect to FIG. 8.

FIG. 1 is a block diagram of an example environment 100 that providessocial overlays on ads. The example environment 100 includes an admanagement system 110 that manages advertising services and one or moresocial networking systems 120 that allow users to interact with otherusers within a social framework. The example environment 100 includes anetwork 102, such as a local area network (LAN), a wide area network(WAN), the Internet, or a combination thereof. The network 102 connectswebsites 104, user devices 106, advertisers 108, the ad managementsystem 110, and social networking systems 120. The example environment100 may include many thousands of websites 104, user devices 106, andadvertisers 108.

A website 104 includes one or more resources 105 associated with adomain name and hosted by one or more servers. An example website is acollection of web pages formatted in hypertext markup language (HTML)that can contain text, images, multimedia content, and programmingelements, such as scripts. Each website 104 can be maintained by acontent publisher, which is an entity that controls, manages and/or ownsthe website 104.

A resource 105 can be any data that can be provided over the network102. A resource 105 can be identified by a resource address that isassociated with the resource 105. Resources include HTML pages, wordprocessing documents, portable document format (PDF) documents, images,video, and news feed sources, to name only a few. The resources caninclude content, such as words, phrases, images and sounds, that mayinclude embedded information (such as meta-information in hyperlinks)and/or embedded instructions (such as JavaScript scripts).

A user device 106 is an electronic device that is under control of auser and is capable of requesting and receiving resources over thenetwork 102. Example user devices 106 include personal computers, mobilecommunication devices (e.g., smartphones), and other devices that cansend and receive data over the network 102. A user device 106 typicallyincludes one or more user applications, such as a web browser, tofacilitate the sending and receiving of data over the network 102.

A user device 106 can request resources 105 from a website 104. In turn,data representing the resource 105 can be provided to the user device106 for presentation by the user device 106. The data representing theresource 105 can also include data specifying a portion of the resourceor a portion of a user display, such as a presentation location of apop-up window or a slot of a third-party content site or web page, inwhich advertisements can be presented. These specified portions of theresource or user display are referred to as advertisement slots.

To facilitate searching of these resources, the environment 100 caninclude a search system 112 that identifies the resources by crawlingand indexing the resources provided by the content publishers on thewebsites 104. Data about the resources can be indexed based on theresource to which the data corresponds. The indexed and, optionally,cached copies of the resources can be stored in an indexed cache 114.

User devices 106 can submit search queries 116 to the search system 112over the network 102. In response, the search system 112 accesses theindexed cache 114 to identify resources that are relevant to the searchquery 116. The search system 112 identifies the resources in the form ofsearch results 118 and returns the search results 118 to the userdevices 106 in search results pages. A search result 118 is datagenerated by the search system 112 that identifies a resource that isresponsive to a particular search query, and includes a link to theresource. An example search result 118 can include a web page title, asnippet of text or a portion of an image extracted from the web page,and the URL of the web page. Search results pages can also include oneor more advertisement slots in which advertisements can be presented.

When a resource 105 or search results 118 are requested by a user device106, the ad management system 110 receives a request for advertisementsto be provided with the resource 105 or search results 118. The requestfor advertisements can include characteristics of the advertisementslots that are defined for the requested resource or search resultspage, and can be provided to the ad management system 110.

For example, a reference (e.g., URL) to the resource for which theadvertisement slot is defined, a size of the advertisement slot, and/ormedia types that are available for presentation in the advertisementslot can be provided to the ad management system 110. Similarly,keywords associated with a requested resource (“resource keywords”) or asearch query 116 for which search results are requested can also beprovided to the ad management system 110 to facilitate identification ofadvertisements that are relevant to the resource or search query 116.

Based at least in part on data included in the request foradvertisements, the ad management system 110 can select advertisementsthat are eligible to be provided in response to the request (“eligibleadvertisements”). For example, eligible advertisements can includeadvertisements having characteristics matching the characteristics ofadvertisement slots and that are identified as relevant to specifiedresource keywords or search queries 116. In some implementations,advertisements having targeting keywords that match the resourcekeywords or the search query 116 are selected as eligible advertisementsby the ad management system 110.

A targeting keyword can match a resource keyword or a search query 116by having the same textual content (“text”) as the resource keyword orsearch query 116. For example, an advertisement associated with thetargeting keyword “beaches” can be an eligible advertisement for anadvertisement request including the resource keyword “beaches.”Similarly, the advertisement can be selected as an eligibleadvertisement for an advertisement request including the search query“beaches.”

The ad management system 110 can select from the eligible advertisementsthat are to be provided for presentation in advertisement slots of aresource or search results page based on results of an auction. Forexample, the ad management system 110 can receive bids from advertisersand allocate the advertisement slots, based at least in part on thereceived bids (e.g., based on the highest bidders at the conclusion ofthe auction). The bids are amounts that the advertisers are willing topay for presentation (or selection) of their advertisement with aresource or search results page. For example, a bid can specify anamount that an advertiser is willing to pay for each 1000 impressions(i.e., presentations) of the advertisement, referred to as a CPM bid.Alternatively, the bid can specify an amount that the advertiser iswilling to pay for a selection (i.e., a click-through) of theadvertisement or a “conversion” following selection of theadvertisement. The selected advertisements can be determined based onthe bids alone, or based on the bids of each bidder being multiplied byone or more factors, such as quality scores derived from advertisementperformance, landing page scores, and or other factors. In someimplementations, the bids can be based on whether the ad includes socialinformation, such as information that identifies how the user or otherusers in the user's social network have responded to the ad. Forexample, the social information can be used to generate a social overlayon the ad.

A conversion occurs when a user performs a particular action related toan advertisement provided with a resource or search results page. Whatconstitutes a conversion may vary from case-to-case and can bedetermined in a variety of ways. For example, a conversion may occurwhen a user clicks on an advertisement, is referred to a web page, andconsummates a purchase there before leaving that web page. A conversioncan also be defined by an advertiser to be any measurable/observableuser action, such as downloading a white paper, navigating to at least agiven depth of a website, viewing at least a certain number of webpages, spending at least a predetermined amount of time on a website orweb page, registering on a website, sharing an ad with other userswithin a social network, or commenting upon an ad where the comments arevisible to others. Other actions that constitute a conversion can alsobe used.

The system 100 includes one or more social networking systems 120 thatprovide functions and tools for users to share information in a socialnetwork. For example, a social networking system 120 can be a socialnetworking website that users can use to identify friends and socialgroups (e.g., circles), send and receive email, post messages andmulti-media (e.g. photos, video, audio), track social events, provideupdates and so on.

For situations in which the systems discussed here collect personalinformation about users, the users may be provided with an opportunityto opt in/out of programs or features that may collect personalinformation (e.g., information about a user's preferences or a user'scurrent location). In addition, certain data may be anonymized in one ormore ways before it is stored or used, so that personally identifiableinformation is removed. For example, a user's identity may be anonymizedso that the no personally identifiable information can be determined forthe user, or a user's geographic location may be generalized wherelocation information is obtained (such as to a city, zip code, or statelevel), so that a particular location of a user cannot be determined.

Example user interfaces for displaying social overlays are describedbelow with reference to FIGS. 2-7. Various user interface elements forreceiving user data input are described below with reference to FIGS.2-7. Example user interface elements include text boxes, radio buttons,check boxes, drop-down menus, and hypertext links.

FIG. 2 shows an example user interface 200 that includes an ad 202 witha social overlay 204 and a control 206 for re-publishing theadvertisement. For example, a user can use the control 206 to re-publishthe ad to one or more members of the user's groups. The user interface200 can be provided, for example, by the ad management system 110 ofFIG. 1. For example, the ad 202 can be an ad that is served with othercontent, such as included with search results 118 that are responsive toa user's query 116, as described above. In another example, the ad 202can be any ad that appears on a third-party website, such as thethird-party web site (e.g., related to area beaches) that is displayedin the user interface 200. For example, the third-party beach-relatedwebsite can be a landing page associated with one of several searchresults 118 that are responsive to a search query 207 for “beaches.”

The social overlay 204 can serve as an annotation that is associatedwith the ad 202. The annotation can include customized informationrelated to the user and/or one or more groups that are associated withthe user. For example, the social overlay 204 can annotate the ad 202with information regarding the user's actions associated with the ad202, or actions by members of one or more groups associated with theuser (e.g., the user's circles of friends, family or other groups thatare specified or inferred).

When the social overlay 204 is displayed, a social message 208 canprovide any of several types of social information associated with thead. In the example shown in FIG. 2, the social message 208 indicatesthat “394 people in Carmel+1'd this,” meaning that 394 people in theCarmel area have “plussed one” the ad, or shared the ad with others,such as family or friends. This example provides a summary based ongeographic proximity by identifying the number of users in a certaingeographic region (e.g., Carmel) who shared the ad. Other exampleproximity-based summaries include time-based summaries, e.g., the numberof users who shared (or liked, etc.) the ad within the last hour (orsome other time interval). Regional (e.g., Carmel) and otherproximity-based social messages 208 can summarize actions by people whoare not members of the user's groups. Other example types of informationthat the social message 208 can provide include the number of members inthe user's groups who liked the ad, the name of a user's friend wholiked the ad, and so on.

In some implementations, the social message 208 can provide statisticsrelated to people in the user's various social groups or circles, suchas the members of the user's group who had a favorable response to theadvertisement. For example, the social message 208 can identify thenumber of the user's family members who liked the ad, or the number ofpeople in the user's circle of friends who re-published the ad, to namea few examples. Other example social messages 208 include messages suchas “Jerry, your wife+1'd this ad,” “David, Roger and 4 more friendsshared this ad” or “Peggy and 3 other family members shared this ad.”

In some implementations, more than one type of summary message may beapplied to an ad, such as a geographically-based summary (e.g., Carmelarea) and a user's circle-based summary message (e.g., friends orfamily). In some implementations, if more than one type of summarymessage is to be applied to an ad, the user interface 200 can cyclebetween the different summary messages in the social message 208. Forexample, the social message 208 that is displayed may alternate betweensummary messages such as “394 people in Carmel+1'd this,” and “14 ofyour friends liked this ad.” In some implementations, the user interface200 can automatically cycle through summary messages by scrollingthrough the summary messages that apply to an ad, displaying each in thesocial message 208. For example, the user interface 200 can display onesummary message for a few seconds, then the next summary message, and soon. In some implementations, the social message 208 can include allsummary messages at once (e.g., if there are between one and threesummary messages). In some implementations, the user interface 200 caninclude a control by which the user can access the summary messages thatapply to an ad. In some implementations, the summary message that isdisplayed can change to a different applicable summary message if theuser hovers over the social message 208 using a position indicator suchas a cursor, a pointer, or the touch of a finger or stylus on a touchscreen.

The control 206 can include various controls for re-publishing and/orcommenting on the ads (e.g., the ad 202 upon which the social overlay204 is displayed). In this example, the control 206 includes a plus onecontrol 210 for re-publishing or commenting upon the ad 202, a helpcontrol 212, and an information control 214. The plus one control 210can lead to an interface from which the user can provide detailedinformation, as will be described below with reference to FIG. 3. Byselecting the help control 212, for example, the user can be presentedwith a popup or other control that provides an explanation of the socialoverlay 204 and how it is used. As an example, a user who is unfamiliarwith re-publishing ads may click on the help control 212 to learn howthe interface operates and what can result from the user's interactionwith it (e.g., what his friends and family may see). By selecting theinformation control 214, for example, the user can navigate to a websiteor other information that provides information on ads.

The ad 202 can be one of several ads that appear in an advertisementssection 216 on the third-party website. Other ads 202 a and 202 b canappear in a content section 220 of the third-party website. For example,the ad 202 a can be another ad that includes a social overlay 204 a. Inthis example, the social overlay 204 a includes a control 206 a and asocial message 208 a that can be similar to the control 206 and socialmessage 208 described above.

FIG. 3 shows an example details popup 302 for providing detailedinformation for re-publishing an ad. The details popup 302 can bedisplayed, for example, if the user selects the plus one control 210shown in FIG. 2. The details popup 302 is just one exampleimplementation of an interface that the user can use to provide detailedinformation for re-publishing an ad (e.g., re-publishing and/orcommenting upon the ad 202). A header 304 can explain why the detailspopup 302 is displayed. In this example, the header 304 states that theuser plussed-one (or shared) the “XYZ Beach Boardwalk” ad that is thesubject of the ad 202, and in this case, the name of the advertiser. Insome implementations, the name of the advertiser can be determined usingapplication code that runs behind the plus one control 210 or thedetails popup 302, such as at the same time that the applicationretrieves existing social annotations and user information. In someimplementations, if the user is the first person in a social group(e.g., friends, family, etc.) to see the ad 202, or if no one else hasre-published or commented upon the ad 202, then a message can indicateto the user that he is the first to re-publish/comment.

The details popup 302 includes a visibility area 306 that summarizes thegroups with which the user's ad re-publishing/comments are to beapplied. For example, current settings 308 indicate that the user'sshared information is to be visible to (and thus shared with) the user'sfriends and family. The user can use a change control 310 to change thevisibility of the shared information, effectively changing the currentsettings 308. FIGS. 4 and 5, described below, show example userinterfaces that can appear if the user selects the change control 310.

The details popup 302 includes a commenting area 312 for adding acomment and/or removing a comment that has been associated with an ad.The commenting area 312 includes an add comment control 314 for adding acomment (e.g., described below with reference to FIG. 6) and an undocomment control 316 for undoing (or deleting) the added comment. In someimplementations, the undo comment control 316 does not appear within thedetails popup 302 (or may be grayed out or otherwise inactive) until acomment has been added.

In some implementations, the user can designate that the advertisementis to be provided to a social application for presentation in anactivity stream associated with the user. The advertisement andassociated comments can be displayed, for example, as part of an updateposted to the user's activity stream. In some implementations, the usercan designate that the advertisement is to be provided to a socialapplication for presentation as an update for the user in an activitystream associated with one or more members of a group specified by theuser. For example, the advertisement and associated comments may bepresented as an update to an activity stream of each member of eachgroup specified in the current settings 308. As another example, some orall groups specified in the current settings 308 may have an associatedactivity stream in a social application and the advertisement andassociated comments may be presented as an update to each of thoseactivity streams.

The details popup 302 can include an update request control 318 that theuser can use to request to receive periodic updates from the advertiserthat is associated with the ad 202. For example, using the control 318,the user can subscribe to periodic email messages, text messages, orother forms of communication that the advertiser can send to interestedparties. In this way, the user can “follow” an advertiser in a way thatis similar to how users “follow” an individual or entity online (e.g.,such as on Twitter).

A statement 320 that can be displayed within the details popup 302 canidentify, to the user, the users (e.g., individuals, specified orinferred groups or social circles) who may be eligible to see there-published ad. For example, the statement 320 can state, “This +1 willalso be visible to circles above.” As a result, the user can becomeacquainted with the mechanics and consequences of re-publishing ads thatresult from the selections and settings in the details popup 302,further allowing the user to understand the visibility of thead-re-publishing. In some implementations, if the user has used thechange control 310 to change the visibility to the extent that no otherusers currently have visibility, then the statement 320 can state, forexample, “No users currently have visibility.” By selecting a view fullprofile control 321, the user can navigate, for example, to theadvertiser profile page on a social network site.

In some implementations, filtering or limiting of re-publicationrequests can occur. As a result, the mere designation by a user tore-publish to one or more groups or individuals does not necessarilymean that re-publishing will occur. For example, the designatedreceivers may have blocked receipt (e.g., by setting preferences in abrowser to block all or selected types of social overlays on contentand/or ads). In another example, some implementations of the admanagement system 110 may filter re-publication requests based on one ormore criteria. Example criteria include imposing limits onre-publishing, e.g., limiting the number of re-publishing events, thenumber of recipients, and so on. In some implementations, imposed limitson re-publishing can be applied to intervals of time, e.g., enforcing alimit of five re-published ads per day, twenty re-published ads perweek, and so on. As a result, the ad management system 110 can preventusers from re-publishing too often or to too many people. Other criteriacan be used for filtering re-publishing requests.

In some implementations, an email area 322 can identify the user account324 (e.g., userX@mail.com) from which the ad-re-publishing will occur.For example, an email address can be tied to the user's socialnetworking account, or the email address may not be tied to any socialnetworking account. In some implementations, a user profile image 326can provide a visual identification to the user as to what account 324is currently displayed. If the user has multiple computer logins and/oraccounts, then the user can use an email change control 328, forexample, to select a different one of the user's accounts (e.g.,userX@ABCDmail.com). In some implementations, ad-re-publishing need notrely upon the user having an email account. For example, the user canbelong to one or more social networking systems, and ad-re-publishingthat the user performs can be tied to a user name, a user account, orother form of user identification.

As a result of selecting which account (email or user login/account) touse, the user is also associating the ad-re-publishing with the groupsor social circles that correspond to that user account. For example, theuser's circles of family and friends may be vastly different for thesocial networking accounts associated with the user's email addressesuserX@mail.com versus userX@ABCDmail.com (or one user login/accountversus another user login/account).

A close control 330 can be used to exit the details popup 302 and savethe current settings and inputs. In some implementations, a cancelcontrol can exist that can allow the user to exit the details popup 302without saving any changes, essentially restoring the values of thedetails popup 302 to their original settings (e.g., before the userdisplayed the popup).

In some implementation, the details popup 302 can include an option toun-plus the ad, or to cancel the act of re-publishing the ad withothers. For example, if the user changes his mind about re-publishingthe ad to family and friends, or decides not to share his comments, theuser can select an un-plus option (not shown in FIG. 3), e.g., somewhereinside the details popup 302. In some implementations, selecting theun-plus option can make the social overlay 204 appear in a different wayin order to indicate that the ad is no longer to be re-published. Forexample, while the ad is still displayed after the user has plussed-onethe ad and the message reads “You and 394 people in Carmel+1'd this,”upon the user un-plussing the ad, the message can return to its originalstate, namely “394 people in Carmel+1'd this.”

FIG. 4 shows an example visibility change popup 402 for changingvisibility settings for re-publishing an ad. In some implementations,the user interface 200 can display the visibility change popup 402 when,for example, the user selects the visibility change control 310described with reference to FIG. 3. As an example, the user may selectthe visibility change control 310 to delete one or more of thevisibility settings 308 (e.g., “Friends” or “Family”) and/or to chooseadditional visibility options.

In some implementations, when the visibility change popup 402 isdisplayed, the current visibility settings 308 can be displayed asselectable controls, e.g., controls 406 and 408 (e.g., for “Friends” and“Family”). The controls 406 and 408 can identify the name of the groupfor which visibility is currently set for the user's re-published ad.

An add other people control 410 can provide a way for adding additionalindividuals or groups to the existing groups for which visibility existsregarding the user's re-published ad. For example, if the user selectsthe add other people control 410, another popup can appear from whichthe user can add visibility entities, as described below with referenceto FIG. 5.

The controls 406 and 408 can further include delete controls 412 and414, respectively, that the user can use to selectively delete either orboth groups. For example, by selecting the delete control 412, the“Friends” group can be removed from visibility, and the group control406 can disappear from the visibility change popup 402.

In some implementations, by clicking on the either of the controls 406and 408, the user can view the names of the users in that group. Forexample, if the user selects the “Friends” control 412, then the userinterface 200 can display a popup that lists the people in the user'scircle of friends.

In some implementations, the visibility change popup 402 can display theuser account 324 and the email change control 328 that the user canselect to switch to a different user login. The user may switch to adifferent user login, for example, in order to re-publish the ad with adifferent circle of family and friends, e.g., the family and friendsassociated with his other user login (e.g., UserX@ABCDmail.com).

A close control 416 can be used to exit the visibility change popup 402and save the current settings and inputs. In some implementations, acancel control can exist that can allow the user to exit the visibilitychange popup 402 without saving any changes, essentially restoring thevalues of the visibility change popup 402 to their original settings(e.g., before the user displayed the popup).

FIG. 5 shows an example groups selection list 502 for displayingselectable visibility groups. For example, the user interface 200 candisplay the groups selection list 502 if the user selects the add otherpeople control 410 on the visibility change popup 402 as describedabove.

The groups selection list 502 can include group entries 504, each ofwhich can identify the name of the group and can further include, inparentheses, the number of people in that group. For example, the groupentries 504 can include a Family group 504 a with seven members, aFriends group 504 b with 105 members, and a coworkers group 504 c with25 members. In some implementations, the group entries 504 can includeentries that are supersets or unions of two or more other groups. Forexample, a My Circles group 504 d can represent the union of the Family,Friends and Coworkers groups 504 a-c. As a result, the total membershipin the My Circles group 504 d (e.g., 137) can be the sum of the groupmemberships that the superset group includes (e.g., 7+105+25). An Anyonegroup 504 e can apply to the group by which the user can re-publish thead with everyone online, and the parenthetical membership for the Anyonegroup 504 e can be “public on the web.” In some implementations, byselecting the parenthetical membership number, the user interface 200can display the list of individual members in the group. For example,the user may want to see the names of the people in a group as reminderof who the re-published ad would be shared with if that group is madevisible.

In some implementations, each time the user selects a new group from thegroup entries 504, a selectable control for that group can appear in thevisibility change popup 402, such as is shown for the Friends control406 and the Family control 408. In some implementations, updating thecontrols in the visibility change popup 402 may not occur until afterthe user exits the groups selection list 502, such as by selecting anexit control 506.

FIG. 6 shows an example add comment box 602 for sharing a comment on anad. For example, the user can use the add comment box 602 to enter acomment associated with an ad (e.g., the ad 202). The user interface 200can display the add comment box 602, for example, if user selects theadd a comment control 314 in order to comment upon the ad 202 and sharehis comments with others. As an example, if the ad 202 advertises aparticularly interesting-looking waterfront location (e.g., theoceanfront boardwalk in the ad 202), then the user may enter, “I bet theview of the ocean is beautiful!” or some other comment in the addcomment box 602. In some implementations, as soon as the user beginstyping in the add comment box 602, any prompt message (e.g., “addcomment . . . ”) can be immediately replaced by whatever the user typesin.

By selecting a comment control 604, the user can save the comment thathe has typed into the add comment box 602, and the saved comment can bedisplayed, for example, in the details popup 302. However, if the userdecides not to keep the comment, the user can select a cancel control606. Comments entered using the add comment box 602 can appear in anactivity stream, such as the user's activity stream that lists recentactivities performed by the user. In some implementations, the activitystream that is updated with the comment can be on a social website. Insome implementations, comments that are posted to one or more activitystreams can be in a standardized format so that any social website caninteract with the comment and other components of an activity stream. Insome implementations, the comment added using the add comment box 602can appear in a social overlay 204, e.g., as all or part of a socialmessage 208.

In some implementations, the control 206 described above can include orprovide access to additional controls by which a user can view commentsfor an ad (e.g., the ad 202) that have been made by other users. In someimplementations, the comments that a user views using the control 206can be made anonymous. In some implementations, the social message 208can indicate the number of users who have commented upon an ad (e.g.,“25 people in Carmel commented on this ad”).

FIG. 7 shows the example user interface 200 of FIG. 2 with the socialoverlay 204 that is updated to indicate that the user has re-publishedthe ad 202. In the current example, because the user has re-publishedthe ad 202, the social message 208 is now prefaced with “You and . . . ”and now reads “You and 394 people in Carmel+1'd this.” In someimplementations, if additional users (e.g., three more users) in theCarmel area have re-published the ad 202 since the user's act ofre-publishing the ad, the social message 208 can update the information(e.g., “You and 397 people in Carmel+1'd this”). In someimplementations, other information can be included in the social message208 if additional activity has occurred (e.g., sharing, etc.) by one ormore other users.

The updated social overlay 204 in FIG. 7 is an example completed loop ofevents and user actions, starting with the display of the ad 202 that isannotated with the original social overlay 204 and social message 208.Then, as a result of the user re-publishing the ad 202 (e.g., bychoosing to “plus one” the ad), the ad 202 is re-published. As a result,the user's social overlay 204 includes a second different annotation(e.g., an updated social message 208, “You and . . . ”) along with there-published ad. Other users can also experience an updated socialmessage 208 that reflects the current user's activity. For example, thesocial message 208 that the other users see can include an updated countof users who re-published the ad, e.g., “395 people in Carmel+1'd this.”The ad management system 110, for example, can produce one or more newsocial messages 208 for an ad 202 based on actions of one or users inre-publishing the ad 202 (e.g., sharing, commenting, etc.).

In some implementations, in addition to determining which social message208 is to be included or annotated in the social overlay 204, adetermination can be made (e.g., by the ad management system 110)whether to show the annotation at all. For example, since the annotationmay occupy valuable space within the ad block of the ad 202, the admanagement system 110 can decide to show the annotation only when it isbelieved that the annotation will actually be relevant, e.g., that theuser re-publishes the ad. In some implementations, the placement, sizeand format of the social overlay 204 in the ad 202 can depend on thesize and position of un-used space (e.g., blank space) in the ad. Forexample, the social overlay 204 can generally appear along the bottom ofthe ad 202 only if nothing relevant (e.g., text) in the ad 202 iscovered by the annotation.

FIG. 8 is a flowchart of an example process for targeting additionalcontent to a group based on a designation of an advertisement forre-publishing to the group. For example, the process 800 can be used toserve an ad 202 with a social overlay 204. The social overlay 204 caninclude tools by which the user can provide input for re-publishing thead to a group, and additional content can be targeted to the group basedon the re-publishing of the ad 202. The process 800 can be performed,for example, by the ad management system 110.

A request is received for an advertisement to be displayed in a slot(e.g., associated with a third-party content site) (802). For example,referring to FIG. 1, the ad management system 110 can receive a requestto provide an ad in a slot in the third-party web page that correspondsto a resource 105. The request can occur, for example, when searchresults 118 are generated in response to a query 116. In someimplementations, the ad management system 110 can have no control of thegeneral content of the third-party website except for providing ads thatfill slots on the web page.

A relevant advertisement is identified to be provided in the slot (804).As an example, the ad management system 110 can identify an ad 202 (seeFIG. 2) that is relevant (e.g., to the third-party web site). Forexample, if the website is related to beaches or waterfronts, then thead management system 110 can identify an ad 202 that advertises abeach-related product or service. In some implementations, theidentification process can use keywords (e.g., “beaches”) thatcorrespond to the user's query for content. In some implementations, thead management system 110 can identify ads that are targeted to the user.For example, if the user is known to live in the Carmel area ofCalifornia, or if the GPS location of the user's mobile computing deviceindicates that the user is currently in that area, then the admanagement system 110 can identify an ad for a Carmel area beach. Insome implementations, identification of the ad can be based on theextent or recentness of users in the user's social circles who havere-published the ad. For example, if several members of the user'sgroups have commented on an ad, or if significant recent re-publishingof the ad has occurred, the ad management system 110 can select thatparticular ad over other ads that may have less social context (e.g.,and interest to the user).

Information to be included in an annotation associated with theadvertisement is determined, with the annotation including customizedinformation to be presented along with the advertisement (806). As anexample, for the relevant advertisement that is identified, the admanagement system 110 can identify information that is customized forthe user on whose computing device the ad will be displayed. Examples ofcustomization include the number of the user's family or friends whore-published the ad, or the number of users in the user's geographicarea who re-published the ad.

In some implementations, the customization can use any suitable piece ofinformation that is associated with the user when determininginformation to be included in the annotation. Example informationincludes demographics such as gender, age, income, occupation, hobbies,and so on. These demographic categories can be used to createannotations that are meaningful to the user because the user is alsowithin those demographics.

The advertisement responsive to the request is provided, including theannotation along with a control for re-publishing the advertisementalong with the relevant advertisement (808). As an example, referring toFIG. 2, the ad management system 110 can provide the ad 202 that isannotated with the social overlay 204. The social message 208 that isincluded in the social overlay 204 includes customized information thatis related to the user or a group associated with the user. For example,the social overlay 204 can include information regarding the user'sre-publishing of the ad and/or information regarding the actions ofmembers of the user's social groups.

The annotation can include a control for re-publishing theadvertisement. For example, the social overlay 204 includes the plus onecontrol 208 for re-publishing the ad 202. The plus one control 208enables the user to re-publish the ad 202, for example, to one or moremembers of each of one or more of the user's groups. The plus onecontrol 208 can also enable the user to re-publish the ad 202 to otherindividuals that are not members of any group associated with the user.

User input selecting the control and designating the advertisement forre-publishing to a group is received (810), where the group isdesignated by the user. For example, referring to FIG. 2, the user canselect the plus one control 210 to designate the ad 202 forre-publishing. Along with a designation to re-publish the advertisement,a user input specifying one or more groups to receive the re-publishedadvertisement can be received. For example, referring to FIG. 3, one ormore groups to receive the re-published ad 202 can be specified usingthe current settings 308.

The group can be, for example, a social circle, family, friends, workgroup, or any other particularly identified or inferred group. The groupmay include, for example, a set of users that have been previouslydesignated by the user for inclusion in the group. For example, the usermay have previously created a group (e.g., using a social application)which includes the user's family members. Such a group may or may notinclude the user as a member of the group. As another example, the groupmay be a group that includes the user and other users (e.g., a groupthat the user previously joined, such as a group that includes fans of aparticular sports team).

The group that a user designates can be specified, for example, by agroup name. As another example, in some implementations, a group can beimplicitly created, at the time of designation for re-publication of thead, if the user specifies a set of two or more users to receive there-published ad (e.g., the user may select individual users asrecipients of the re-published ad, rather than selecting a group name).As another example, an implicit group can be created if the userspecifies two or more existing groups, or a combination of one or moreexisting groups and one or more individual users as recipients of there-published ad. Groups can also be inferred, as described in moredetail below.

In some implementations, the received user input includes a designationto provide the advertisement and associated comments to a socialapplication for presentation in an activity stream associated with theuser. As another example, in some implementations, the received userinput includes a designation to provide the advertisement as an updatefor the user in an activity stream associated with one or more membersof a group specified by the user, or to an activity stream associatedwith the group.

Additional content is targeted to the group based on the received userinput (812). For example, the received user input can be used as asignal when determining relevant content to be provided to one or moremembers of the group in the future. For example, one or more ads can betargeted to the group or to one or more members of the group in responseto a future request for ads. Ads may be requested for one or more adslots, such as ad slots included on a third party web page or on asearch results page viewed by a member of the group.

In response to a request for ads, one or more ads may be selected. Forexample, referring to FIG. 1, one or more ads may be selected by the admanagement system 110. The ad management system 110 may select ads basedon a quality score, where the quality score for an ad indicates therelevance of the ad to a received request for ads. The quality score maybe affected by one or more signals, such as one or more social signals,that are based on the received user input.

A social signal may be based on tracked data associated withdesignations of ads for re-publishing by the user. For example, the admanagement system 110 can track, for each ad designated forre-publishing by the user, an identifier of the ad, targeting keywordsassociated with the ad, a date and time of designation, any recipients(e.g., users, groups) designated to receive the re-published ad, and thelocation of the user at the time of designation (e.g., as determined bya location detection device (e.g., GPS (Global Positioning Satellite)receiver)). Other context information can be tracked, such as the URL ofthe hosting web page that includes the ad designated for re-publishing,and whether the hosting web page is a search results web page. If thehosting web page is a search results web page, search keywords used forthe search associated with the search results web page can be tracked.Browsing history information which indicates how a user navigated to thehosting web page can be tracked, and content keywords of the hosting webpage can be tracked. As described in more detail below, targetingadditional content to a group can be based on some or all of the trackeddata.

In addition to tracking the designation of an ad for re-republishing toa group, user interactions with a re-published ad (e.g., that ispresented in an activity stream) can be tracked, and additional contentcan be targeted to the group based on the interactions. An ad may bere-published to an activity stream, for example, based on a designationby a user. For example, an ad may be re-published to an activity streamassociated with the user, an activity stream associated with one or moremembers of a group specified by the user, or an activity streamassociated with the group itself.

The user or a member of a group specified by the user can interact withthe ad, such as to designate either liking or disliking the ad. Asanother example, the user or a member of a group specified by the usercan select the ad, such as to expand the ad or to navigate to a landingpage associated with the ad. As yet another example, the user can entera comment associated with the ad.

If multiple users interact with a re-published ad (e.g., one posted toan activity stream associated with the user, an activity streamassociated with one or more members of a group specified by the user, oran activity stream associated with the group), then a social groupincluding each of the users who interacted with the ad can be inferred,and additional content related to the ad can be targeted in the futureto each user included in the inferred social group. In someimplementations, an inferred group can be created which includes allusers who interacted in any way with one or more of an ad, a set ofspecified ads, or a set of ads having certain targeting keywords. Insome implementations, multiple inferred groups can be created based on atype of interaction. For example, four inferred groups can be created,which include, respectively, users who commented on, designated forre-publishing, selected (e.g., viewed), or indicated a liking or adisliking of an ad, a set of specified ads, or a set of ads havingcertain targeting keywords.

If the ad is posted to an activity stream associated with a group, then,in some implementations, only group members can interact with the ad. Asubgroup of group members can be identified, where the subgroup includesgroup members who interact with one or more ads or one or more adshaving certain targeting keywords posted to the group's activity stream.It can be assumed that, in general, the subgroup of members may have astronger interest than other members in the subject matter of the ads orin the subject matter indicated by targeting keywords associated withthe ads. Therefore, additional content (e.g., other ads) related to thesubject matter of the interacted ads or to the targeting keywords can bepresented in the future to members of the subgroup.

Additional information can be derived from tracked data, and targetingcan be based on the derived information. For example, one or more ratesof re-publishing can be determined for a user, such as how often a userre-publishes ads to particular members or particular groups in a giventime period, or how often a user re-publishes ads having certaintargeting keywords to particular members or particular groups in a giventime period. For each user or group a user re-publishes ads to, a rateof re-publishing of certain types of ads to that user or group can bedetermined. For example, it can be determined that a user re-publishesfive ads for sports cars, on average, per month, to a “friends” group.As another example, it can be determined that a user re-publishes, onaverage, three vacation-related ads per week to a particular, otheruser, or that the user re-publishes, on average, six golfing-related adsper month to a particular group.

If a user frequently (e.g., at more than a threshold rate) re-publishesads to a same set of individual users, a social group including thoseusers can be inferred, even if those users are not otherwise included ina specified group, and a rate of targeting of certain types of ads tothe inferred group can be determined. A group to be targeted, therefore,can be, for example, an inferred group, a group explicitly selected bythe user, or an implicit group (e.g., a group formed from a userspecifying individual users or a combination of users and groups asrecipients).

In general, targeting of additional content to a group may be based ontracked data and/or on information derived from the tracked data. Forexample, if a user has designated for re-publishing to a group adshaving certain targeting keywords, other ads having the same or similartargeting keywords can be targeted to the group or to members of thegroup in the future. As a more particular example, if the user hasdesignated for republishing ads to a group having a certain targetingkeyword more than a threshold number of times within a certain timeperiod, then other ads having that targeting keyword can be selected forpresentation to the group or to members of the group. For instance, ifthe user has designated for re-publishing more than five ads forsporting equipment to a group within the past month, other ads forsporting equipment may be presented to the group or to members of thegroup in the future.

It may be assumed that it is likely that members of the group sharecommon interests, and that group members may be interested in contentthat the user is interested in. Therefore, other ads that have beenpreviously designated for re-publishing by the user may be selected forre-publishing or presentation to the group, even if the user did notexplicitly designate the group when designating the ads forre-publishing. If an ad is targeted to the group based on a previousdesignation for re-publishing of the ad by the user, the ad may, whenpresented to the group, include a custom annotation which indicates thatthe user had previously designated the ad for re-publication. Forexample, an annotation may indicate that “Bob likes this”. As anotherexample, an ad targeted to the group may include a custom annotationwhich indicates how many users that are members of the group havepreviously designated the ad for re-publishing. For example, an ad mayinclude a custom annotation of “Five group members like this”.

Targeting of additional content may be based on other context associatedwith the designation of an ad for re-publishing. For example, a user maytend to designate ads or ads having particular targeting keywords forre-publishing to a particular group at certain times of day or times ofyear. For example, a trend of a user designating vacation ads to a“family” group for re-publishing during the month of June can bedetermined and other vacation ads can be targeted to the user and to the“family” group during the month of June in future years. As anotherexample, a user may tend to designate theater ads for re-publishing to asocial circle group on Friday afternoons, and other theater or otherentertainment-related ads can be targeted to the user and to the socialcircle group on Friday afternoons in future weeks.

In some implementations, the age of tracked data can affect whethercontent is targeted to a group. For example, one or more ads havingparticular targeting keywords may be selected to be presented to thegroup or to members of the group if the user has re-published other adshaving those or similar targeting keywords within the past month. Inthis example, if the last time the user re-published an ad having aparticular targeting keyword (e.g., golf) was two weeks ago, ads havingthat targeting keyword might be selected for presentation to the group,but the ads might not be selected for presentation to the group if thelast time the user re-published an ad having the particular targetingkeyword was three months ago. As another example, more recent trackeddata may be given higher weight than older tracked data when determininga relevancy of tracked data. For example, tracked data for adsrepublished within the past month may be given a weight of 100%, trackeddata for ads re-published between one month and three months from thecurrent date may be given a weight of 60%, and tracked data for adsre-published more than three months from the current date may be given aweight of 0%.

Other targeting activities can occur in response to the received userinput other than selecting ads for presentation to the group. Forexample and as mentioned, an annotation included in the ad to bere-published to the group can be customized, such as to include acomment entered by the user or to indicate who or how many people havedesignated the ad for re-publishing. As another example, the groupand/or each member of the group may be surfaced to one or moreadvertisers.

FIG. 9 is a block diagram of computing devices 900, 950 that may be usedto implement the systems and methods described in this document, aseither a client or as a server or plurality of servers. Computing device900 is intended to represent various forms of digital computers, such aslaptops, desktops, workstations, personal digital assistants, servers,blade servers, mainframes, and other appropriate computers. Computingdevice 950 is intended to represent various forms of mobile devices,such as personal digital assistants, cellular telephones, smartphones,and other similar computing devices. The components shown here, theirconnections and relationships, and their functions, are meant to beexemplary only, and are not meant to limit implementations of theinventions described and/or claimed in this document.

Computing device 900 includes a processor 902, memory 904, a storagedevice 906, a high-speed interface 908 connecting to memory 904 andhigh-speed expansion ports 910, and a low speed interface 912 connectingto low speed bus 914 and storage device 906. Each of the components 902,904, 906, 908, 910, and 912, are interconnected using various busses,and may be mounted on a common motherboard or in other manners asappropriate. The processor 902 can process instructions for executionwithin the computing device 900, including instructions stored in thememory 904 or on the storage device 906 to display graphical informationfor a GUI on an external input/output device, such as display 916coupled to high speed interface 908. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devices900 may be connected, with each device providing portions of thenecessary operations (e.g., as a server bank, a group of blade servers,or a multi-processor system).

The memory 904 stores information within the computing device 900. Inone implementation, the memory 904 is a computer-readable medium. In oneimplementation, the memory 904 is a volatile memory unit or units. Inanother implementation, the memory 904 is a non-volatile memory unit orunits.

The storage device 906 is capable of providing mass storage for thecomputing device 900. In one implementation, the storage device 906 is acomputer-readable medium. In various different implementations, thestorage device 906 may be a floppy disk device, a hard disk device, anoptical disk device, or a tape device, a flash memory or other similarsolid state memory device, or an array of devices, including devices ina storage area network or other configurations. In one implementation, acomputer program product is tangibly embodied in an information carrier.The computer program product contains instructions that, when executed,perform one or more methods, such as those described above. Theinformation carrier is a computer- or machine-readable medium, such asthe memory 904, the storage device 906, or memory on processor 902.

The high speed controller 908 manages bandwidth-intensive operations forthe computing device 900, while the low speed controller 912 manageslower bandwidth-intensive operations. Such allocation of duties isexemplary only. In one implementation, the high-speed controller 908 iscoupled to memory 904, display 916 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 910, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 912 is coupled to storage device 906 and low-speed expansionport 914. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 900 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 920, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 924. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 922. Alternatively, components from computing device 900 may becombined with other components in a mobile device (not shown), such asdevice 950. Each of such devices may contain one or more of computingdevice 900, 950, and an entire system may be made up of multiplecomputing devices 900, 950 communicating with each other.

Computing device 950 includes a processor 952, memory 964, aninput/output device such as a display 954, a communication interface966, and a transceiver 968, among other components. The device 950 mayalso be provided with a storage device, such as a microdrive or otherdevice, to provide additional storage. Each of the components 950, 952,964, 954, 966, and 968, are interconnected using various buses, andseveral of the components may be mounted on a common motherboard or inother manners as appropriate.

The processor 952 can process instructions for execution within thecomputing device 950, including instructions stored in the memory 964.The processor may also include separate analog and digital processors.The processor may provide, for example, for coordination of the othercomponents of the device 950, such as control of user interfaces,applications run by device 950, and wireless communication by device950.

Processor 952 may communicate with a user through control interface 958and display interface 956 coupled to a display 954. The display 954 maybe, for example, a TFT LCD display or an OLED display, or otherappropriate display technology. The display interface 956 may compriseappropriate circuitry for driving the display 954 to present graphicaland other information to a user. The control interface 958 may receivecommands from a user and convert them for submission to the processor952. In addition, an external interface 962 may be provide incommunication with processor 952, so as to enable near areacommunication of device 950 with other devices. External interface 962may provide, for example, for wired communication (e.g., via a dockingprocedure) or for wireless communication (e.g., via Bluetooth or othersuch technologies).

The memory 964 stores information within the computing device 950. Inone implementation, the memory 964 is a computer-readable medium. In oneimplementation, the memory 964 is a volatile memory unit or units. Inanother implementation, the memory 964 is a non-volatile memory unit orunits. Expansion memory 974 may also be provided and connected to device950 through expansion interface 972, which may include, for example, aSIMM card interface. Such expansion memory 974 may provide extra storagespace for device 950, or may also store applications or otherinformation for device 950. Specifically, expansion memory 974 mayinclude instructions to carry out or supplement the processes describedabove, and may include secure information also. Thus, for example,expansion memory 974 may be provide as a security module for device 950,and may be programmed with instructions that permit secure use of device950. In addition, secure applications may be provided via the SIMMcards, along with additional information, such as placing identifyinginformation on the SIMM card in a non-hackable manner.

The memory may include for example, flash memory and/or MRAM memory, asdiscussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 964, expansionmemory 974, or memory on processor 952.

Device 950 may communicate wirelessly through communication interface966, which may include digital signal processing circuitry wherenecessary. Communication interface 966 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 968. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS receiver module 970 may provide additional wireless datato device 950, which may be used as appropriate by applications runningon device 950.

Device 950 may also communication audibly using audio codec 960, whichmay receive spoken information from a user and convert it to usabledigital information. Audio codex 960 may likewise generate audible soundfor a user, such as through a speaker, e.g., in a handset of device 950.Such sound may include sound from voice telephone calls, may includerecorded sound (e.g., voice messages, music files, etc.) and may alsoinclude sound generated by applications operating on device 950.

The computing device 950 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 980. It may also be implemented as part of asmartphone 982, personal digital assistant, or other similar mobiledevice.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of embodiments of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention. Forexample, various forms of the flows shown above may be used, with stepsre-ordered, added, or removed. Also, although several applications ofthe payment systems and methods have been described, it should berecognized that numerous other applications are contemplated.Accordingly, other embodiments are within the scope of the followingclaims.

What is claimed is:
 1. A computer implemented method for providingcontent comprising: receiving a request for an advertisement to bedisplayed in a slot associated with a third-party content site;identifying, using a processor, a relevant advertisement to be providedin the slot; determining, using the processor, information to beincluded in an annotation associated with the advertisement, theannotation including customized information to be presented along withthe advertisement; providing the advertisement responsive to the requestincluding providing the annotation along with a control forre-publishing the advertisement along with the relevant advertisement;receiving user input selecting the control and designating theadvertisement for re-publishing to a group, the group being designatedby the user; and targeting, using the processor, additional content tothe group based on the received user input.